package com.master.iu;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.master.ed.ControladoriaED;
import com.master.rl.ControladoriaRL;
import com.master.rn.ControladoriaRN;
import com.master.util.Data;
import com.master.util.Excecoes;
import com.master.util.JavaUtil;

public class ctr001Bean {

  public ArrayList gera_DRE_Controladoria_Faturamento(HttpServletRequest request)throws Excecoes{

      ControladoriaED ed = new ControladoriaED();

      String oid_Unidade = request.getParameter("oid_Unidade");
      if (oid_Unidade != null && !oid_Unidade.equals("") && !oid_Unidade.equals("null"))
        ed.setOid_Unidade(new Long(oid_Unidade).longValue());

      String dt_Inicial = request.getParameter("FT_DT_Emissao_Inicial");
      if (dt_Inicial != null && !dt_Inicial.equals("") && !dt_Inicial.equals("null"))
        ed.setDT_Inicial(dt_Inicial);

      String dt_Final = request.getParameter("FT_DT_Emissao_Final");
      if (dt_Final != null && !dt_Final.equals("") && !dt_Final.equals("null"))
        ed.setDT_Final(dt_Final);

      String DM_Tipo_Lancamento = request.getParameter("FT_DM_Tipo_Lancamento");
      if (DM_Tipo_Lancamento != null && !DM_Tipo_Lancamento.equals("") && !DM_Tipo_Lancamento.equals("null"))
          ed.setDM_Tipo_Lancamento(DM_Tipo_Lancamento);

      return new ControladoriaRN().gera_DRE_Controladoria_Faturamento(ed);

  }

  public void rel_DRE_Controladoria_Faturamento(HttpServletRequest request, HttpServletResponse response)throws Excecoes{

      ControladoriaED ed = new ControladoriaED();

      ed.setNM_Tipo_Documento("");

      ed.setDM_Modelo_Relatorio(request.getParameter("FT_DM_Relatorio"));

      String oid_Unidade = request.getParameter("oid_Unidade");
      if (oid_Unidade != null && !oid_Unidade.equals("") && !oid_Unidade.equals("null")){
    	  ed.setOid_Unidade(new Long(oid_Unidade).longValue());
    	  ed.setNM_Tipo_Documento("UN:");
      }

      String dt_Inicial = request.getParameter("FT_DT_Emissao_Inicial");
      if (dt_Inicial != null && !dt_Inicial.equals("") && !dt_Inicial.equals("null")){
    	  ed.setDT_Inicial(dt_Inicial);
    	  ed.setNM_Tipo_Documento(ed.getNM_Tipo_Documento()+"| In.:"+dt_Inicial);
      }

      String dt_Final = request.getParameter("FT_DT_Emissao_Final");
      if (dt_Final != null && !dt_Final.equals("") && !dt_Final.equals("null")){
    	  ed.setDT_Final(dt_Final);
    	  ed.setNM_Tipo_Documento(ed.getNM_Tipo_Documento()+"| Fim:"+dt_Final);
      }
      if(!JavaUtil.doValida(ed.getDT_Final()))
    	  ed.setDT_Final(Data.getDataDMY());

      String DM_Tipo_Lancamento = request.getParameter("FT_DM_Tipo_Lancamento");
      if (DM_Tipo_Lancamento != null && !DM_Tipo_Lancamento.equals("") && !DM_Tipo_Lancamento.equals("null")){
    	  ed.setDM_Tipo_Lancamento(DM_Tipo_Lancamento);
      }

      ArrayList list = new ControladoriaRN().relDRE_Controladoria_Faturamento(ed);
      if(ed.getDM_Modelo_Relatorio().equals("4")){
    	  new ControladoriaRL().relDRE_ResultadoLucroLiquido(list, response, ed);
      } else if(ed.getDM_Modelo_Relatorio().equals("3")){
    	  new ControladoriaRL().relDRE_ReceitaLiquida_Custos(list, response, ed);
      } else if(ed.getDM_Modelo_Relatorio().equals("2")){
    	  new ControladoriaRL().relDRE_ReceitaLiquida(list, response, ed);
      } else  {
    	  new ControladoriaRL().relDRE_ReceitaBruta(list, response, ed);
      }

  }

}
